def map_elements_to_regions(regions_dict, elements_list):
    def is_point_in_rect(point, rect):
        (x1, y1), (x2, y2) = rect
        px, py = point
        return x1 <= px <= x2 and y1 <= py <= y2

    result = {}
    
    for region_name, rectangles in regions_dict.items():
        region_entries = []
        
        for rect in rectangles:
            left_top = rect[0]
            right_bottom = rect[1]
            
            placeholders = []
            for element in elements_list:
                if is_point_in_rect(element['pos'], (left_top, right_bottom)):
                    placeholders.append(element)
            
            region_entries.append({
                "区域范围": rect,
                "占位符列表": placeholders
            })
        
        result[region_name] = region_entries
    
    return result

# 示例用法
regions = {'检 测 报 告': [((4, 2), (43, 15))], '检测结果汇总表': [((49, 2), (68, 15))], 'No.1 检测要求': [((75, 2), (106, 15))], 'No.2 检测数据': [((110, 2), (114, 15)), ((116, 2), (118, 15)), ((120, 2), (128, 15)), ((130, 2), (136, 15)), ((138, 2), (140, 15))], 'No.3 检测曲线': [((144, 2), (202, 15))], 'No.4 检测照片': [((208, 2), (351, 15))], 'No.5 检测设备': [((358, 2), (360, 15)), ((364, 2), (366, 15))], 'No.6 变更履历': [((370, 2), (371, 15))]}

elements = [{'pos': (366, 12), 'left': [], 'top': ['测试后细节照3', '设备软件版本Device software version']},
           {'pos': (371, 2), 'left': [], 'top': ['版本']},
           {'pos': (371, 3), 'left': [], 'top': ['测试后细节照2', '修改日期']},
           {'pos': (371, 5), 'left': [], 'top': ['引发电芯温度&电压vs.时间', '1#', '测试前', '测试中', '测试后', '修改内容']},
           {'pos': (371, 14), 'left': [], 'top': ['修改人/创建人']}]

result = map_elements_to_regions(regions, elements)